package com.villaday.idf.model3;

import android.os.Parcel;
import android.os.Parcelable;

public class Orders_invoice_deticalEntity {


    /**
     * code : 200
     * status : success
     * msg : success
     * body : {"allowContact":true,"allowSendMail":false,"completed":false,"contactPhone":"0755-26604812","content":"旅游费","email":"1135520344@qq.com","order":{"createDateTime":"2019-11-19 18:30:19","orderNo":"V191119-1000001-00","state":{"code":6,"text":"已完成"},"statusText":"已完成"},"phone":"13632840501","state":{"code":0,"icon":"https://img.villaday.com/static/17/img/state/invoice_confirming_3x.png","text":"待开票"},"taxpayerNumber":"16464664946","title":"个人","type":"电子普通发票"}
     */

    private String code;
    private String status;
    private String msg;
    private BodyBean body;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public BodyBean getBody() {
        return body;
    }

    public void setBody(BodyBean body) {
        this.body = body;
    }

    public static class BodyBean implements Parcelable {
        /**
         * allowContact : true
         * allowSendMail : false
         * completed : false
         * contactPhone : 0755-26604812
         * content : 旅游费
         * email : 1135520344@qq.com
         * order : {"createDateTime":"2019-11-19 18:30:19","orderNo":"V191119-1000001-00","state":{"code":6,"text":"已完成"},"statusText":"已完成"}
         * phone : 13632840501
         * state : {"code":0,"icon":"https://img.villaday.com/static/17/img/state/invoice_confirming_3x.png","text":"待开票"}
         * taxpayerNumber : 16464664946
         * title : 个人
         * type : 电子普通发票
         */

        private boolean allowContact;
        private boolean allowSendMail;
        private boolean completed;
        private String contactPhone;
        private String content;
        private String email;
        private OrderBean order;
        private String phone;
        private StateBeanX state;
        private String taxpayerNumber;
        private String title;
        private String type;

        public boolean isAllowContact() {
            return allowContact;
        }

        public void setAllowContact(boolean allowContact) {
            this.allowContact = allowContact;
        }

        public boolean isAllowSendMail() {
            return allowSendMail;
        }

        public void setAllowSendMail(boolean allowSendMail) {
            this.allowSendMail = allowSendMail;
        }

        public boolean isCompleted() {
            return completed;
        }

        public void setCompleted(boolean completed) {
            this.completed = completed;
        }

        public String getContactPhone() {
            return contactPhone;
        }

        public void setContactPhone(String contactPhone) {
            this.contactPhone = contactPhone;
        }

        public String getContent() {
            return content;
        }

        public void setContent(String content) {
            this.content = content;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        public OrderBean getOrder() {
            return order;
        }

        public void setOrder(OrderBean order) {
            this.order = order;
        }

        public String getPhone() {
            return phone;
        }

        public void setPhone(String phone) {
            this.phone = phone;
        }

        public StateBeanX getState() {
            return state;
        }

        public void setState(StateBeanX state) {
            this.state = state;
        }

        public String getTaxpayerNumber() {
            return taxpayerNumber;
        }

        public void setTaxpayerNumber(String taxpayerNumber) {
            this.taxpayerNumber = taxpayerNumber;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public static class OrderBean implements Parcelable {
            /**
             * createDateTime : 2019-11-19 18:30:19
             * orderNo : V191119-1000001-00
             * state : {"code":6,"text":"已完成"}
             * statusText : 已完成
             */

            private String createDateTime;
            private String orderNo;
            private StateBean state;
            private String statusText;

            public String getCreateDateTime() {
                return createDateTime;
            }

            public void setCreateDateTime(String createDateTime) {
                this.createDateTime = createDateTime;
            }

            public String getOrderNo() {
                return orderNo;
            }

            public void setOrderNo(String orderNo) {
                this.orderNo = orderNo;
            }

            public StateBean getState() {
                return state;
            }

            public void setState(StateBean state) {
                this.state = state;
            }

            public String getStatusText() {
                return statusText;
            }

            public void setStatusText(String statusText) {
                this.statusText = statusText;
            }

            public static class StateBean implements Parcelable {
                /**
                 * code : 6
                 * text : 已完成
                 */

                private int code;
                private String text;

                public int getCode() {
                    return code;
                }

                public void setCode(int code) {
                    this.code = code;
                }

                public String getText() {
                    return text;
                }

                public void setText(String text) {
                    this.text = text;
                }

                @Override
                public int describeContents() {
                    return 0;
                }

                @Override
                public void writeToParcel(Parcel dest, int flags) {
                    dest.writeInt(this.code);
                    dest.writeString(this.text);
                }

                public StateBean() {
                }

                protected StateBean(Parcel in) {
                    this.code = in.readInt();
                    this.text = in.readString();
                }

                public static final Creator<StateBean> CREATOR = new Creator<StateBean>() {
                    @Override
                    public StateBean createFromParcel(Parcel source) {
                        return new StateBean(source);
                    }

                    @Override
                    public StateBean[] newArray(int size) {
                        return new StateBean[size];
                    }
                };
            }

            @Override
            public int describeContents() {
                return 0;
            }

            @Override
            public void writeToParcel(Parcel dest, int flags) {
                dest.writeString(this.createDateTime);
                dest.writeString(this.orderNo);
                dest.writeParcelable(this.state, flags);
                dest.writeString(this.statusText);
            }

            public OrderBean() {
            }

            protected OrderBean(Parcel in) {
                this.createDateTime = in.readString();
                this.orderNo = in.readString();
                this.state = in.readParcelable(StateBean.class.getClassLoader());
                this.statusText = in.readString();
            }

            public static final Parcelable.Creator<OrderBean> CREATOR = new Parcelable.Creator<OrderBean>() {
                @Override
                public OrderBean createFromParcel(Parcel source) {
                    return new OrderBean(source);
                }

                @Override
                public OrderBean[] newArray(int size) {
                    return new OrderBean[size];
                }
            };
        }

        public static class StateBeanX implements Parcelable {
            /**
             * code : 0
             * icon : https://img.villaday.com/static/17/img/state/invoice_confirming_3x.png
             * text : 待开票
             */

            private int code;
            private String icon;
            private String text;

            public int getCode() {
                return code;
            }

            public void setCode(int code) {
                this.code = code;
            }

            public String getIcon() {
                return icon;
            }

            public void setIcon(String icon) {
                this.icon = icon;
            }

            public String getText() {
                return text;
            }

            public void setText(String text) {
                this.text = text;
            }

            @Override
            public int describeContents() {
                return 0;
            }

            @Override
            public void writeToParcel(Parcel dest, int flags) {
                dest.writeInt(this.code);
                dest.writeString(this.icon);
                dest.writeString(this.text);
            }

            public StateBeanX() {
            }

            protected StateBeanX(Parcel in) {
                this.code = in.readInt();
                this.icon = in.readString();
                this.text = in.readString();
            }

            public static final Parcelable.Creator<StateBeanX> CREATOR = new Parcelable.Creator<StateBeanX>() {
                @Override
                public StateBeanX createFromParcel(Parcel source) {
                    return new StateBeanX(source);
                }

                @Override
                public StateBeanX[] newArray(int size) {
                    return new StateBeanX[size];
                }
            };
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeByte(this.allowContact ? (byte) 1 : (byte) 0);
            dest.writeByte(this.allowSendMail ? (byte) 1 : (byte) 0);
            dest.writeByte(this.completed ? (byte) 1 : (byte) 0);
            dest.writeString(this.contactPhone);
            dest.writeString(this.content);
            dest.writeString(this.email);
            dest.writeParcelable(this.order, flags);
            dest.writeString(this.phone);
            dest.writeParcelable(this.state, flags);
            dest.writeString(this.taxpayerNumber);
            dest.writeString(this.title);
            dest.writeString(this.type);
        }

        public BodyBean() {
        }

        protected BodyBean(Parcel in) {
            this.allowContact = in.readByte() != 0;
            this.allowSendMail = in.readByte() != 0;
            this.completed = in.readByte() != 0;
            this.contactPhone = in.readString();
            this.content = in.readString();
            this.email = in.readString();
            this.order = in.readParcelable(OrderBean.class.getClassLoader());
            this.phone = in.readString();
            this.state = in.readParcelable(StateBeanX.class.getClassLoader());
            this.taxpayerNumber = in.readString();
            this.title = in.readString();
            this.type = in.readString();
        }

        public static final Parcelable.Creator<BodyBean> CREATOR = new Parcelable.Creator<BodyBean>() {
            @Override
            public BodyBean createFromParcel(Parcel source) {
                return new BodyBean(source);
            }

            @Override
            public BodyBean[] newArray(int size) {
                return new BodyBean[size];
            }
        };
    }
}
